Variablity
Es soll die Möglichkeit bestehen, neue Dienste, z.B. der
Transport eines Werstückes in das Lager, die die Maschinen der
Ablaufsteuerung zur Verfügung stellen, in das Framework
hinzuzufügen.
Constraints
Context
Die Ablaufsteuerung fordert unterschiedliche Dienste von den
einzelnen Maschinen an, z.B. Dienste für den Transport oder für
das Handling. Diese werden jedoch nicht direkt an die Maschine
weitergegeben. Die Anforderung der Dienste wird über mehrere
Klassen weitergereicht. Wenn nun eine Maschine einen neuen Dienst
zur Verfügung stellt und dieser Dienst genutzt werden soll, muß
dieser Dienst in das System integriert werden. Dazu muß die
Anforderung dieses Dienstes auch wieder über mehrere Klassen
weitergeleitet werden und die Schnittstellen der Klassen
entsprechend erweitert werden.
Examples
- Dienst: Transport
- Dienst: Bearbeiten
- Dienst: Überprüfen der Rüstdaten vor dem Transport
Extension
Für eine Erweiterung des Frameworks um neue Dienste sind die
folgenden Schritte notwendig:
- Es ist der Aufzählungstyp TypeOfCmd zu erweitern.
- Eine neue Klasse muß von der Klasse Cmd abgeleitet
werden.
- Der Konstruktor der neuen Klasse muß die Variable
CmdType mit der Erweiterung des Aufzählungstyps
TypeOfCmd initialisieren.
- In den von Machining, Transport und Handling abgeleiteten
Klassen muß die Methode ProcessingControl angepaßt
werden, wenn diese Klasse den neuen Dienst bereitstellt.
In diesen Fall muß in der Methode abgefragt werden (mit
Hilfe von GetTypeOfCmd) , ob der neue Dienst angefordert
wird und dann der entsprechende Algorithmus ausgeführt
werden.
- Durch eine Erweiterung des Aufzählungstyps TaskType kann
eine weitere Unterscheidung der einzelnen Dienste
vorgenommen werden.
OSEFA: © '96 Fachhochschule Konstanz, Fachbereich Informatik, Prof. Schmid
Dokumentation: © '97 Universität-GH Siegen, FB 12, Markus Blachnik & Georg Odenthal